# 字典定义： 定义在一对花括号{}中的数据，数据格式为：{ key: value, key: value, key: value }
# 字典的key 必须是唯一的，value 可以重复，可以是任意类型的数据
# 字典： 可变的类型数据   可以做增删改操作
from tarfile import version

data_01 = {}
data_02 = { "docker":"26.1", "k8s":"1.29" }
data_03 = {
    "192.168.1.1": {
        "user": "admin",
        "password": "123456"
    }
}

print(type(data_01),type(data_02),type(data_03))

# ---------获取数据,根据键获取数据---------
data_02 = { "docker":"26.1", "k8s":"1.29" }
print(data_02["docker"])

# get获取数据，没有键对应的数据，返回None
version = data_02.get("k8s")
print(version)

# ---------添加数据，根据键添加数据-----------
# 字典名称[键] = 值
data_02 = { "docker":"26.1", "k8s":"1.29" }
data_02["prometheus"] = "3.7"
print(data_02)

# ----------修改数据，根据键修改数据-----------
# 字典名称[键] = 值

data_02["k8s"] = "1.32"
print(data_02)

# ------------- 字典对象的操作方法 ---------------
# clear()  清空字典
# 1、keys() 以列表的形式获取字典中所有的键
data_02 = { "docker":"26.1", "k8s":"1.29", "prometheus":"3.7" }
print(data_02.keys())
print("nginx" in data_02.keys())

# 2、items() 以列表的形式获取字典中所有的键值对,配合遍历字典用
print(data_02.items())

# ----------------- 遍历字典 ------------------
# 软件名： xxxxx, 软件版本： xxxxx
data_02 = { "docker":"26.1", "k8s":"1.29", "prometheus":"3.7" }
for k, v in data_02.items():
    print("软件名：%s, 软件版本：%s" % (k, v))

# ssh 用户名器@服务器地址
data_03 = {
    "192.168.1.1": {
        "user": "admin",
        "password": "123456"
    },
    "192.168.1.2": {
        "user": "root",
        "password": "redhat"
    }
}

for ip ,info in data_03.items():
    print("ssh %s@%s" % (info.get("user"), ip))